/*  PrimeBlaster
    by Kjetil Eide 
    kjetile445@gmail.com

    This file is part of PrimeBlaster

    PrimeBlaster is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    PrimeBlaster is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with PrimeBlaster.  If not, see <http://www.gnu.org/licenses/>.
*/

package org.eide.spaceship;

import org.newdawn.slick.AppGameContainer;
import org.newdawn.slick.GameContainer;
import org.newdawn.slick.SlickException;
import org.newdawn.slick.state.StateBasedGame;


public class PrimeBlaster extends StateBasedGame {

	public static final int SCREEN_WIDTH = 800;
	public static final int SCREEN_HEIGHT = 600;
	public static final int TARGET_FRAMERATE = 100;
	private static final boolean FULLSCREEN = false;
	public static final String VERSION = "0.4";
	
	PlayerStatus playerStatus;
	
	public PrimeBlaster() {
		super("Prime Blaster");
		this.playerStatus = new PlayerStatus();
	}
	
	public void initStatesList(GameContainer container) {		
		container.setTargetFrameRate(TARGET_FRAMERATE);
		addState(new TitleScreen(playerStatus));
		addState(new LevelGetReady(playerStatus));
		addState(new MainGame(playerStatus));
	}
	
	public static void main(String[] argv) {
		try {
			AppGameContainer container = new AppGameContainer(new PrimeBlaster());
			container.setDisplayMode(SCREEN_WIDTH, SCREEN_HEIGHT, FULLSCREEN);
			container.start();
		} catch (SlickException e) {
			e.printStackTrace();
		}
	}
	
}
